package com.ziyueyuwen.xiniao.service;

import com.ziyueyuwen.xiniao.bean.ZyClassLessonInfo;
import com.ziyueyuwen.xiniao.bean.ZyLessonMessageTask;
import com.ziyueyuwen.xiniao.bean.message.LessonNode;

import java.util.Date;
import java.util.LinkedList;
import java.util.List;
/**
 * @author wancheng  on 2019/1/21.
 */
public interface MessageTaskTemplateService {

    /**
     * 创建班级课程是 获取课程发送消息任务
     * @param list
     * @return
     */
    List<ZyLessonMessageTask> getLinkedListTask(List<ZyClassLessonInfo> list);

    /**
     * 添加消息模板
     * @param lessonInfo
     */
    void insertLessonTask(ZyClassLessonInfo lessonInfo);

    /**
     * 批量添加消息模板
     * @param lessonInfos
     */
    void insertLessonTaskBatch(List<ZyClassLessonInfo> lessonInfos);
    /**
     * 修改课程时间时 修改发送任务时间
     * @param lessonId
     * @param beginTime
     * @param endTime
     */
    void updateLessonTime(Integer lessonId, Date beginTime,Date endTime);

    /**
     * 获取时间段内任务
     * @param before
     * @param end
     * @return
     */
    List<ZyLessonMessageTask> getTask(Date before,Date end);

    /**
     * 执行任务
     * @param tasks
     */
    void executeTask(List<ZyLessonMessageTask> tasks);

    /**
     * 获取
     * @param lessonId
     * @param date
     * @return
     */
    List<ZyLessonMessageTask> getLessonHasExecuteTask(Integer lessonId,Date date);
}
